home *** CD-ROM | disk | FTP | other *** search
/ BCI NET / BCI NET Dec 94.iso / archives / networking / anos / install_dis.lha / AmigaDIS / POST_MAIL < prev    next >
Encoding:
Text File  |  1993-07-14  |  3.3 KB  |  149 lines

  1. /* copy mail received by AmigaNOS ready for elm, run AmigaElm and */
  2. /* then return  return the fiile ready for nos to append to the end */
  3.  
  4. SiteName = 'video.demon.co.uk'/* Full Domain Path  */
  5. mqueue = 'slip:spool/mqueue/'                       /* MUST END IN SLASH */
  6. uuspool = 'uuspool:'                                /* UUCp Spool Dir    */
  7. yourfeed = 'gate.demon.co.uk'                       /* DO NOT CHANGE!    */
  8. rqueue = 'slip:spool/mail/'                       /* MUST END IN SLASH */
  9. findfile = 't:ProcMail'
  10.  
  11. say 'Checking for new Mail Postings'
  12.  
  13. /* Gate Local Mail Items to the Internet via AmigaNOS */
  14.  
  15. /*
  16. *  Format of the files in the mqueue library are as follows...
  17. *
  18. *  <seq>.txt   contains the header and body of the message
  19. *  <seq>.wrk   contains the information for SMTP
  20. *
  21. *              A typical entry for <seq>.wrk would look like this...
  22. *
  23. *              <1> gate.demon.co.uk              <your feed site>
  24. *              <2> mlednor@tower.demon.co.uk     <from who?>
  25. *              <3> mlednor@cix.compulink.co.uk   <destination user>
  26. *
  27. */
  28.  
  29.  
  30. seqfile = mqueue || 'sequence.seq'
  31.  
  32. if open( seqfile, seqfile, 'R' ) == 0 then sequence = 1
  33. else
  34. do
  35. sequence = ''
  36. sequence = readln( seqfile )
  37. if sequence = '' then sequence = 1
  38. end
  39.  
  40. dummy = close( seqfile )
  41.  
  42. dummy = addlib( "rexxsupport.library", 0, -30, 0 )
  43.  
  44. dirstring = showdir( uuspool, 'F' )
  45. olddirstr = dirstring
  46.  
  47. do forever
  48. parse var dirstring filename dirstring
  49.  
  50. if filename == '' then leave
  51. if upper(substr( filename, 1, 7 )) ~= 'D.GATEX' then iterate
  52.  
  53. filename = uuspool || filename
  54.  
  55. if ~open( filename, filename, 'R' ) then iterate
  56.  
  57. line.1 = readln( filename )
  58. line.2 = readln( filename )
  59. line.3 = readln( filename )
  60. line.4 = readln( filename )
  61.  
  62. dummy = close( filename )
  63.  
  64. if line.1 == '' || line.2 == '' || line.3 == '' || line.4 == '' then iterate
  65.  
  66. parse var line.4 junk junk sendlist
  67.  
  68. do forever
  69.  
  70. if sendlist == '' then leave
  71.  
  72. parse var sendlist touser sendlist
  73.  
  74. touser = strip( touser )
  75. fromuser = subword( line.1, 2, 1 ) || '@' || sitename
  76.  
  77. textfile = substr( filename, 1, 6 + length( uuspool )) || 'B'
  78. textfile = textfile || substr( filename, 8 + length( uuspool ) )
  79.  
  80. if ~open( textfile, textfile, 'R' ) then iterate
  81.  
  82. sequence = sequence + 1
  83.  
  84. outwrk = mqueue || sequence || '.wrk'
  85. outtxt = mqueue || sequence || '.txt'              
  86. say 'working on sequence' sequence
  87.  
  88. if ~open( outwrk, outwrk, 'W' ) then do
  89. dummy = close( textfile )
  90. iterate
  91. end
  92.  
  93. dummy = writeln( outwrk, yourfeed )
  94. dummy = writeln( outwrk, fromuser )
  95. dummy = writeln( outwrk, touser )
  96.  
  97.  
  98. if ~open( outtxt, outtxt, 'W' ) then do
  99. address command 'delete >nil:' outwrk
  100. dummy = close( textfile )
  101. iterate
  102. end
  103.  
  104.  
  105. do forever
  106.  
  107. itemline = readln( textfile )
  108. if eof( textfile ) then leave
  109.  
  110. if substr( itemline, 1, 5 ) == 'From ' then    /* Junk the     */
  111. iterate                                    /* 'From ' line */
  112.  
  113. dummy = writeln( outtxt, itemline )
  114. end
  115.  
  116.  
  117. dummy = close( outtxt )
  118. dummy = close( outwrk )
  119.  
  120. dummy = close( textfile )
  121.  
  122.  
  123. end
  124.  
  125. end
  126.  
  127.  
  128. if open( seqfile, seqfile, 'W' ) == 0 then do
  129. say 'Couldn''t open sequence file for Rewrite.'
  130. exit 10
  131. end
  132.  
  133. dummy = writeln( seqfile, sequence )
  134.  
  135. dummy = close( seqfile )
  136.  
  137.  
  138. filename = ''
  139.  
  140. do forever
  141. parse var olddirstr filename olddirstr
  142. if filename == '' then leave
  143. if upper( substr( filename, 2, 5 ) ) ~= ".GATE" then iterate
  144.  
  145. address command 'delete >nil:' uuspool || filename
  146. end
  147.  
  148. exit
  149.